import cv2


# 打开视频文件或摄像头
cap = cv2.VideoCapture('video.mp4')  # 或者 cap = cv2.VideoCapture(0) 为摄像头

if not cap.isOpened():
    print("无法打开视频文件或摄像头")
    exit()

# 将帧转换为灰度
def process_frame(frame):
    # 将帧转换为灰度
    gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    return gray_frame

while True:
    # 读取一帧
    ret, frame = cap.read()
    
    # 检查是否成功读取帧
    if not ret:
        print("无法获取帧或视频结束")
        break
    
    # 对帧进行处理
    processed_frame = process_frame(frame)
    
    # 显示处理后的帧
    cv2.imshow('Processed Frame', processed_frame)
    
    # 按下 'q' 键退出循环
    if cv2.waitKey(30) & 0xFF == ord('q'):
        break

# 释放捕获对象并关闭所有窗口
cap.release()
cv2.destroyAllWindows()